﻿namespace Ids4.Api.Application.Filters
{
    //public class AuthorizeCheckOperationFilter : IOperationFilter
    //{
    //    public void Apply(OpenApiOperation operation, OperationFilterContext context)
    //    {
    //        var hasAuthorize =
    //          context.MethodInfo.DeclaringType.GetCustomAttributes(true).OfType<AuthorizeAttribute>().Any()
    //          || context.MethodInfo.GetCustomAttributes(true).OfType<AuthorizeAttribute>().Any();

    //        if (hasAuthorize)
    //        {
    //            operation.Responses.Add("401", new OpenApiResponse { Description = "Unauthorized" });
    //            operation.Responses.Add("403", new OpenApiResponse { Description = "Forbidden" });

    //            operation.Security = new List<OpenApiSecurityRequirement>
    //        {
    //            new OpenApiSecurityRequirement
    //            {
    //                [
    //                    new OpenApiSecurityScheme {Reference = new OpenApiReference
    //                    {
    //                        Type = ReferenceType.SecurityScheme,
    //                        Id = "oauth2"}
    //                    }
    //                ] = new[] {"api1"}
    //            }
    //        };

    //        }
    //    }
    //}
}
